package com.lboyang.provider.service;

import com.lboyang.common.extension.SPI;
import com.lboyang.provider.config.RpcServiceConfig;

/**
 * @Description
 *      RPC 服务提供者
 * @Date 2021/9/12 16:24
 * @author: A.iguodala
 */
@SPI
public interface ServiceProvider {

    /**
     * 添加服务
     * @param rpcServiceConfig
     */
    void addService(RpcServiceConfig rpcServiceConfig);

    /**
     * 获取服务
     * @param rpcServiceName
     * @return
     */
    Object getService(String rpcServiceName);

    /**
     * 发布服务
     * @param rpcServiceConfig
     */
    void publishService(RpcServiceConfig rpcServiceConfig);
}
